home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Various
/
JAMDisk #07 (1992)(Just Amiga Monthly)[WB].zip
/
JAMDisk #07 (1992)(Just Amiga Monthly)[WB].adf
/
DOC9110B.LZH
/
gcc.release
< prev
next >
Wrap
INI File
|
1991-10-05
|
6KB
|
201 lines
[October 1991 release]
Changes from beta release:
GCC:startup
===========
Now sets up the environment variable GCC_INCLUDES rather than relying
on patched cpp.
In this archive (doc9110a.lzh).
GCC:bin
=======
gcc now checks for the environment variable GCC_INCLUDES, which should
contain eg "-I gcc:include -I gcc:amiga_include" and uses it instead
of cpp's defaults if found.
ar will check & fail if a filename > 15 characters is found (I didn't
want to change ar.h for this. I suppose it's there from when filenames
in UN*X systems couldn't be larger than 14 chars. Must check what SunOS
does!)
nm no longer gurus if there are no symbols in the file.
In archive bin9110a.lzh (the full system, including cpp, cc1, gas) or
archive nbin9110a.lzh (the above files omitted). The reason for the
difference is that the files are *big* and already available on CIX.
GCC:lib
=======
See separate change log (pdc.release) for details of functional changes.
Organisationally, libgnu.a has disappeared (incorporated in libpdc.a),
and all the math support bar printf(), scanf() are also in libpdc.a -
because ld is a single-pass linker and this is the only way I could get
sensible behaviour. How does the UN*X gcc suite handle this? Perhaps it
uses a .o file rather than a library?
GCC:include
===========
See separate change log (pdc.release) for details of changes.
Simon Wright
sjwright@cix.compulink.co.uk
--------------------------------------------------------------------
[beta release]
OK Folks! This is Amiga GNU C 1.37, as uploaded by Richard
Harrison (tricky@cix) in December 1990 and since, with mods by
me, Simon Wright (sjwright@cix) as follows:
GCC:startup
===========
This is a sample startup file.
GCC:bin
=======
I have patched cc1 to not report times for passes (they were all
zero anyway).
I have patched cpp to make it recognise amiga-include: as a
searchable directory [Richard, there were four names,
GCC-INCLUDE:, /usr/include, usr/lib/include, and AMIGA-INCLUDE:;
I patched the third to read AMIGA-INCLUDE: since cpp clearly
thought there were only 3 names].
I have done a preliminary port of ld, which had been partially
ported by Markus Wild. This only recognises the Sun-format
object files produced by gas [Richard, I checked out the SunOS
4.0.3 manuals, they only generate COFF on the 386 boxes]. It
remains to accept Amiga objects or, at least, to provide some
means of accessing chip/fast memory.
I have ported ar, objdump, and nm. objdump will only handle .o
files; nm seems inclined to guru if given an executable with
symbols stripped. The only way of stripping symbols is to use
ld -s. (but see below).
gcc is the GNU front-end (not the renamed PDC front-end
originally uploaded). I haven't done much to the C++ support so
it isn't likely to work. There are loads of options, I
downloaded the TeX file (from cix:free_sources I think) and here
is a summary of the more commonplace ones (I hope I am allowed to
do that much! the original contains a lengthy not-to-be-removed
polemic on look'n'feel). Options can't be run together; write
-cO as -c -O.
General:
-------
-o file output is file.
-v be verbose.
Compilation:
-----------
-c compile.
-O optimise.
-D def define def.
-I loc add loc to front of standard include locations
(these are gcc-include: and amiga-include:).
-Q be unquiet (list functions as compiled).
Linking:
-------
-l lib add the library liblib.a to the input to ld at the
point in the sequence of object files implied by
its position in the sequence of source and object
files given.
-L loc add loc to the standard library locations (just
gcc:lib at present).
-s include symbols in the executable (not a lot of
use at the moment).
Changes from standard cc:
------------------------
o Default output executable filename is the filename of
the first object file with all back to the first period
stripped (if no period, a.out).
o -s is inverted as it's passed to ld, so you say -s to
request symbols rather than to strip them.
Environment:
-----------
Specify the workfile location (default t:) by
> setenv TMPDIR loc
The default startup file (see below under GCC:lib) is
arpc.o, which gives you ARP-style wildcard expansion on the
command line. Change the default by
> setenv GCC_STARTFILE_SPEC spec.o%s
where spec.o is the startup file (the %s means 'search standard
locations for this file', so omit it if you want to stop searching).
Other environment options exist but should not be necessary.
GCC:include
===========
The header files are largely taken from the PDC 3.3 release. I
have altered them to be nearer to Standard C. I have also
included some extras (alloca.h, getopt.h, dosfunctions.h, and two
versions of arpfunctions.h).
GCC:lib
=======
There are two object files:
o dosc.o is for normal DOS use, no wildcard expansion in
arguments, quotes ["] handled like VAX/VMS; and
o arpc.o, which uses arp.library to do wildcard expansion
transparently to your program.
There are 5 library files:
o libpdc.a is the main C library (PDC 3.3 with my mods, see
separate document),
o libgnu.a is GNU support,
o libamiga.a is the equivalent of amiga.lib; it contains C
stubs for the system .library files and also the
exec_support functions,
o libarp.a contains ARP stubs, and
o libmath.a contains the C math routines and the version of
printf() etc that supports floating point.
Simon Wright
sjwright@cix.compulink.co.uk
(+44)329-280835
22 Somervell Drive
Fareham
PO16 7QG
United Kingdom